/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package gr.uop.cst.context.adaptation;

import gr.uop.cst.context.adaptation.artifacts.oom.BeforeExecuteMethodAdaptation;
import gr.uop.cst.context.adaptation.artifacts.oom.BeforeWriteFieldAdaptation;
import gr.uop.cst.context.adaptation.artifacts.oom.AfterWriteFieldAdaptation;
import gr.uop.cst.context.adaptation.artifacts.oom.AfterReadFieldAdaptation;
import gr.uop.cst.context.adaptation.artifacts.oom.AfterExecuteMethodAdaptation;
import gr.uop.cst.context.adaptation.artifacts.oom.BeforeReadFieldAdaptation;
import gr.uop.cst.context.adaptation.artifacts.oom.AfterCallMethodAdaptation;
import gr.uop.cst.context.adaptation.artifacts.oom.BeforeCallMethodAdaptation;

/**
 *
 * @author jbourlakos
 */
public interface ContextAdaptationGenerator {
    public String getCode();

    public void visit(BeforeWriteFieldAdaptation a);
    
    public void visit(BeforeReadFieldAdaptation a);
    
    public void visit(AfterWriteFieldAdaptation a);
    
    public void visit(AfterReadFieldAdaptation a);
    
    public void visit(AfterCallMethodAdaptation a);
    
    public void visit(AfterExecuteMethodAdaptation a);
    
    public void visit(BeforeCallMethodAdaptation a);
    
    public void visit(BeforeExecuteMethodAdaptation a);
    
    
}
